package com.moli.iov.base.model.dto.res;

import com.moli.iov.base.model.dto.VehicleCommand;
import java.io.Serializable;
import java.util.List;
import lombok.Data;

/**
 * 车辆监控 > 车辆管理 图形页
 *
 * @author whl
 */
@Data
public class VehicleGraphicsQueryListResDto implements Serializable {

  /**
   * 车牌号
   */
  private String license;

  /**
   * 车架号
   */
  private String vin;

  /**
   * 在线状态(0:离线，1：在线)
   */
  private Integer onLineStatus;

  /**
   * 查询信息（0：未关注，1：已关注）
   */
  private Integer isAttention = 0;

  /**
   * 关注组
   */
  private Long attentionGroup;
  /**
   * 关注组
   */
  private String attentionGroupStr;

  /**
   * 上线提醒
   */
  private Integer onlineReminder;

  /**
   * 定位状态（0：未定位，1：已定位）
   */
  private Integer positioningState;
  /**
   * 指令数组
   */
  private List<VehicleCommand> vehicleCommandList;

  /**
   * 授权状态
   */
  private Integer authorizedStatus;


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (!(o instanceof VehicleGraphicsQueryListResDto)) {
      return false;
    }

    VehicleGraphicsQueryListResDto dto = (VehicleGraphicsQueryListResDto) o;

    if (!license.equals(dto.license)) {
      return false;
    }
    if (!vin.equals(dto.vin)) {
      return false;
    }
    if (!onLineStatus.equals(dto.onLineStatus)) {
      return false;
    }
    return positioningState.equals(dto.positioningState);
  }

  @Override
  public int hashCode() {
    int result = license.hashCode();
    result = 31 * result + vin.hashCode();
    result = 31 * result + onLineStatus.hashCode();
    result = 31 * result + positioningState.hashCode();
    return result;
  }
}
